

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
<script type="text/javascript" src="helpman_topicinit.js"></script>

<title>Create a Pattern [Enterprise Architect User Guide]</title>

<meta name="keywords" content="Enterprise Architect, Sparx Systems, UML, Create,Create Pattern,Create UML Pattern,Save,Save Diagram As UML Pattern,Save UML Pattern,XML,XML Pattern File,Pattern,Pattern Actions,Pattern In Resources View,Pattern Save,Pattern Create From Diagram,Pattern Save From Diagram,Resources View,Resources View Of Patterns,UML Pattern,UML Pattern Actions,UML Pattern In Resources View,UML Pattern Save,UML Pattern Create From Diagram,UML Pattern Save From Diagram,Diagram,Diagram Save As Pattern">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<meta http-equiv="Content-Style-Type" content="text/css" />

<link type="text/css" href="default.css" rel="stylesheet" />
<style type="text/css">
  A, A:Visited
  {
    color: #00F;
  }

  A:Active, A:Hover
  {
    color: #F00;
  }

  OL
  {
    margin: 5px 0 5px 48px;
  }

  UL
  {
    margin-bottom: 3px;
    margin-top: 0;
  }

  #nsr
  {
    background-color: #D4DFFF;
  }

  #nsr A
  {
    text-decoration: none;
  }

  #mainbody
  {
    padding: 8px;
  }

  .p_BodyText
  {
    padding: 5px 0;
  }
</style>



<style type="text/css" media="screen">
  BODY
  {
    background-color: #FFFFFF;
  }

  #nsr
  {
    padding: 6px 6px 0 6px;
    border-bottom: none;
    vertical-align: top;
    z-index: 2;
    visibility: visible;
    left: 0;
    top: 0;
    position: absolute;
  }

  #mainbody
  {
    left: 0;
    top: 0;
    margin: 0;
    position: absolute;
    padding: 10px;
    overflow: auto;
    height: 100%;
    z-index: 1;
    background-repeat: no-repeat;
    background-position: bottom right;
    background-attachment: fixed;
  }
</style>

<style type="text/css" media="print">
  #nsr
  {
    visibility: none;
  }

  #mainbody
  {
    overflow: visible;
  }
</style>
<script type="text/javascript" language="JavaScript" src="nonscroll.js"></script>

</head>
<body scroll="no">

<div id="page">



        <div id="content">
          <div id="content-inner">
          



  
          <div id="nsr">
            <table border="0" cellspacing="0" cellpadding="4" width="100%">
              <tr valign="top">
                <td align="left">
  


                  <p class="p_Heading1"><span class="f_Heading1">Create a Pattern</span></p>



  
                </td>
                <td align="right">
                  <a href="introduction.htm" onmouseover="document.images.main.src='button_main_h.gif'" onmouseout="document.images.main.src='button_main.gif'">
                    <img name="main" src="button_main.gif" border=0 alt="Return to Introduction">
                  </a>&nbsp;
    
                  <a href="umlpatterns.htm" onmouseover="document.images.prev.src='button_prev_h.gif'" onmouseout="document.images.prev.src='button_prev.gif'">
                    <img name=prev src="button_prev.gif" border=0 alt="Previous page" />
                  </a>&nbsp;
    
    
    
                  <a href="importapattern.htm" onmouseover="document.images.next.src='button_next_h.gif'" onmouseout="document.images.next.src='button_next.gif'">
                    <img name=next src="button_next.gif" border=0 alt="Next page" />
                  </a>
    
    
                </td>
              </tr>
            </table>
          </div>
          <div id="mainbody">
  


                <p class="p_BodyText"><span class="f_BodyText">To create a Pattern you first must model the Pattern as a standard UML diagram within Enterprise Architect. The following diagram was created from an example in the GoF book </span><span class="f_BodyText" style="font-style: italic;">Design Patterns - Elements of Reusable Object-Oriented Software </span><span class="f_BodyText">by Gamma et al.</span></p>
<p class="p_TextIndentedL2"><img src="example%20of%20a%20gof%20pattern%20diagram.png" width="445" height="409" border="0" alt="Example of a GoF Pattern Diagram"></p>
<div style="text-align: left; text-indent: 0px; padding: 0px 0px 0px 0px; margin: 5px 0px 5px 13px;"><table cellspacing="0" cellpadding="2" border="0" style="border: none; border-spacing:0px;">
<tr style="text-align:left;vertical-align:bottom;">
<td valign="bottom" width="955" bgcolor="#efeff7" style="width:955px; background-color:#efeff7;"><p class="p_TiporNote" style="border-top: none; border-right: none; border-left: none;"><span class="f_TiporNote">Notes:</span></p>
</td>
</tr>
<tr style="text-align:left;">
<td width="955" bgcolor="#f7f7ff" style="width:955px; background-color:#f7f7ff;"><ul style="text-indent: 0px; margin-left: 14px; list-style-position: outside;">
<li><span class="f_TiporNoteText">In the </span><span class="f_TiporNoteText">Corporate, Business and Software Engineering, System Engineering and Ultimate editions</span><span class="f_TiporNoteText"> of Enterprise Architect, if security is enabled you must have </span><span class="f_TiporNoteText" style="font-weight: bold;"><a href="permissionlist.htm">Manage Diagrams</a></span><span class="f_TiporNoteText"> permission to save a diagram as a Pattern.</span></li>
</ul>
<ul style="text-indent: 0px; margin-left: 14px; list-style-position: outside;">
<li><span class="f_TiporNoteText">If your source diagram contains information flows, the Information Items Conveyed and Information Flows Realized data is not copied into the Pattern.</span></li>
</ul>
</td>
</tr>
</table>
</div>
<p class="p_SubHeadingL1"><span class="f_SubHeadingL1">Save a Diagram as a Pattern</span></p>
<p class="p_BodyText"><span class="f_BodyText">To save a diagram as a Pattern, follow the steps below:</span></p>
<ol style="text-indent: 0px; margin-left: 48px; list-style-position: outside;">
<li value=1><span class="f_NumberedList">Select the </span><span class="f_MenuKeyField">Diagram | Save UML Pattern</span><span class="f_NumberedList"> menu option. The </span><span class="f_UIControl">Save Diagram as UML Pattern</span><span class="f_NumberedList"> dialog displays.</span><br>
<span class="f_NumberedList">&nbsp;</span><br>
<img src="saveumlpattern.png" width="554" height="447" border="0" alt="SaveUMLPattern"><br>
<span class="f_NumberedList">&nbsp;</span></li>
<li value=2><span class="f_NumberedList">In the </span><span class="f_MenuKeyField">Pattern Name</span><span class="f_NumberedList"> field, type the Pattern name.</span></li>
<li value=3><span class="f_NumberedList">In the </span><span class="f_MenuKeyField">Filename</span><span class="f_NumberedList"> field, type a .XML filename into which to save the Pattern.</span></li>
<li value=4><span class="f_NumberedList">In the </span><span class="f_MenuKeyField">Category</span><span class="f_NumberedList"> field, type the Category under which the Pattern should be listed in </span><span class="f_MenuKeyField">UML Patterns</span><span class="f_NumberedList"> (required).</span></li>
<li value=5><span class="f_NumberedList">In the </span><span class="f_MenuKeyField">Version</span><span class="f_NumberedList"> field, type the Pattern version number, and in the </span><span class="f_MenuKeyField">Notes</span><span class="f_NumberedList"> field type any notes on the Pattern.</span></li>
<li value=6><span class="f_NumberedList">Select the actions for the elements that are contained in the Pattern by selecting the appropriate checkboxes. These actions are performed when the Pattern is used (for more detail refer to the </span><span class="f_NumberedList" style="font-style: italic;"><a href="useapattern.htm">Use a Pattern</a></span><span class="f_NumberedList"> topic). The available actions are:</span></li>
</ol>
<ul style="text-indent: 0px; margin-left: 65px; list-style-position: outside;">
<li><span class="f_MenuKeyField">Create</span><span class="f_Bulletlist3">: Creates the Pattern element directly without modification</span></li>
<li><span class="f_MenuKeyField">Merge</span><span class="f_Bulletlist3">: Merges the Pattern element with an existing element, enabling the existing element to take on the role of the selected Pattern element</span></li>
<li><span class="f_MenuKeyField">Instance</span><span class="f_Bulletlist3">: Creates the Pattern element as an instance of an existing element</span></li>
<li><span class="f_MenuKeyField">Type</span><span class="f_Bulletlist3">: Creates the Pattern element types as an existing element.</span></li>
</ul>
<div style="text-align: left; text-indent: 0px; padding: 0px 0px 0px 0px; margin: 5px 0px 5px 48px;"><table cellspacing="0" cellpadding="2" border="0" style="border: none; border-spacing:0px;">
<tr style="text-align:left;vertical-align:bottom;">
<td valign="bottom" width="955" bgcolor="#efeff7" style="width:955px; background-color:#efeff7;"><p class="p_TiporNote" style="border-top: none; border-right: none; border-left: none;"><span class="f_TiporNote">Notes:</span></p>
</td>
</tr>
<tr style="text-align:left;">
<td width="955" bgcolor="#f7f7ff" style="width:955px; background-color:#f7f7ff;"><ul style="text-indent: 0px; margin-left: 14px; list-style-position: outside;">
<li><span class="f_TiporNoteText">If your Pattern includes an Object element, you would use </span><span class="f_MenuKeyField">Instance</span><span class="f_TiporNoteText"> to set the classifier of the Object to one of the Classes in the diagram onto which you are dropping the Pattern.</span></li>
<li><span class="f_TiporNoteText">If your Pattern includes a Property (Port or Part) you would use </span><span class="f_MenuKeyField">Type</span><span class="f_TiporNoteText"> to set the type of the Property to one of the Classes in the diagram onto which you are dropping the Pattern.</span></li>
</ul>
</td>
</tr>
</table>
</div>
<ol style="text-indent: 0px; margin-left: 48px; list-style-position: outside;">
<li value=7><span class="f_NumberedList">To change the name of one of the elements, double-click on the element to display the </span><span class="f_UIControl">Edit</span><span class="f_NumberedList"> dialog. From this dialog you can also add comments detailing the element's purpose.</span><br>
<span class="f_NumberedList">&nbsp;</span><br>
<img src="patterneditelement.png" width="468" height="182" border="0" alt="PatternEditElement"><span class="f_NumberedList"> </span><br>
<span class="f_NumberedList">&nbsp;</span></li>
<li value=8><span class="f_NumberedList">Click on the </span><span class="f_MenuKeyField">OK</span><span class="f_NumberedList"> button to save the Pattern. Once saved you can <a href="importapattern.htm">load it</a> into Enterprise Architect as a Pattern in the </span><span class="f_UIControl"><a href="theresourcetab.htm">Resources</a></span><span class="f_NumberedList"> window.</span></li>
</ol>




            </div>
          </div>
        </div>



</div>


</body>
</html>
